package com.aidcloud.metadados.interfaces;

import java.util.ArrayList;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

import com.aidcloud.metadados.entity.ConteudoEntity;

/**
 * Interface que disponibiliza os metodos do servidor-metadados
 * 
 * @author Fernando Geraldes, Jaime Santos, Jorge Silva
 *
 */
@WebService(targetNamespace = "http://servidor.metadados.com", name = "Servidor-Metadados")  
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL)
public interface IMetadadosWS {
	
	/**
	 * Metodo que insere um registo na base de dados
	 * 
	 * @param conteudoEntity entidade a inserir
	 * 
	 * @return {@link ConteudoEntity}, entidade inserida
	 */
	@WebMethod(operationName = "inserirConteudo")
	public ConteudoEntity inserirConteudo(@WebParam(name="conteudoEntity")ConteudoEntity conteudoEntity);
	
	/**
	 * Metodo que devolve uma lista de musicas com 
	 * base na string de procura inserida
	 * 
	 * @param string, {@link String} a procurar
	 * 
	 * @return {@link ArrayList} de {@link ConteudoEntity} encontrados 
	 */
	@WebMethod(operationName = "findMusicas")
	public ArrayList<ConteudoEntity> findMusicas(@WebParam(name="string")String string);

}
